Switching between best views of a place

ABSTRACT

A system and method of selecting and presenting geolocated views. Views may encompass various types of visual and audio information. In one aspect, a server receives a request for information associated with a geographic location. The server identifies a feature at the location. The server uses the identified feature to determine a category of views. The server also selects a view which is associated with the determined category of views and with the geographic location of the request.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 13/442,287, filed on Apr. 9, 2012, which is a continuation ofU.S. patent application Ser. No. 12/574,168, filed on Oct. 6, 2009, thedisclosures of which are incorporated herein by reference.

BACKGROUND

Websites such as Google Maps provide users with the ability to searchfor locations, such as a street address, and obtain an image associatedwith the location. The user may often select from different images ofthe location, such as choosing to view a street level image, a satelliteimage or a map. Yet further, the service may display multiple images atonce, such as a small thumbnail of a street level image overlaid on asatellite image. If the search itself contained the name of a business,the service may also display any photographs uploaded by the businessowner next to a map of the location.

BRIEF SUMMARY

One aspect includes a method of providing a view associated with ageographic location. The provided view is one of a plurality of views,each associated with one of a plurality of categories. The methodincludes receiving a request for information from a user, the requestincluding a location; determining a type of feature disposed at the atthe requested location; selecting, with a processor, a view associatedwith the requested location based on a correspondence between the typeof feature and the category of the view; and displaying the selectedview to the user.

Another aspect provides a system. The system includes a first computerat a first node of a network. The first computer has access toinstructions operable by the first computer and a set of viewsassociated with a geographic location. Each view associated with one ofa plurality of view categories. The system also includes a client deviceat a second node of the network different from the first node. Theclient device comprises a user input device, an electronic display, aprocessor and instructions operable by the processor. The instructionsof the first computer include receiving a geographic location from aclient device; determining a feature type of the geographic location,wherein the feature type is associated with a ranked set of viewcategories of the plurality of view categories; determining a highestranked view category associated with the feature type; selecting, ifavailable, a view of the geographic location such that the selected viewis associated with the received geographic location and is furtherassociated with the highest ranked view category; and transmitting theselected view to the client device over the network. The instructions ofthe client device include transmitting a geographic location to thefirst computer and displaying, on the electronic display, the selectedview transmitted by the first computer.

An additional aspect provides a computer-usable recording mediumrecorded with a program for use by a computing device. The programincludes computer code that receives a request for information, therequest including a location; computer code that determines a featuretype of an object at the requested location; computer code that selectsa view of the requested location based on a correspondence between therequested location and the geographic location of the view and acorrespondence between the feature type and the category of the view;and computer code that transmits the selected view over a network.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional diagram of a system in accordance with an aspectof the invention.

FIG. 2 is a pictorial diagram of a system in accordance with an aspectof the invention.

FIG. 3 is a diagram in accordance with an aspect of the invention.

FIG. 4 is a diagram of a matrix in accordance with an aspect of theinvention.

FIG. 5 is a screen shot in accordance with an aspect of the invention.

FIG. 6 is a screen shot in accordance with an aspect of the invention.

FIG. 7 is a screen shot in accordance with an aspect of the invention.

FIG. 8 is a screen shot in accordance with an aspect of the invention.

FIG. 9 is a diagram in accordance with an aspect of the invention.

FIG. 10 is a flowchart in accordance with an aspect of the invention.

FIG. 11 is a flowchart in accordance with an aspect of the invention.

DETAILED DESCRIPTION

The system and method provides a view of a geographic location. Thesystem may include a plurality of views, each view associated with oneor more categories of views. In one aspect, when a server receives arequest for information associated with the geographic location, thesystem determines the type of feature that is at the location. Theserver further selects a category of views based on the feature type,and then selects and provides the requester with an image correspondingwith the view category.

As shown in FIGS. 1-2, a system 100 in accordance with one aspect of theinvention includes a computer 110 containing a processor 120, memory 130and other components typically present in general purpose computers.

Memory 130 stores information accessible by processor 120, includinginstructions 131 that may be executed by the processor 120. It alsoincludes data 135 that may be retrieved, manipulated or stored by theprocessor. The memory may be of any type capable of storing informationaccessible by the processor, such as a hard-drive, memory card, ROM,RAM, DVD, CD-ROM, write-capable, and read-only memories. The processor120 may be any well-known processor, such as processors from IntelCorporation or AMD. Alternatively, the processor may be a dedicatedcontroller such as an ASIC.

The instructions 131 may be any set of instructions to be executeddirectly (such as machine code) or indirectly (such as scripts) by theprocessor. In that regard, the terms “instructions,” “steps” and“programs” may be used interchangeably herein. The instructions may bestored in object code format for direct processing by the processor, orin any other computer language including scripts or collections ofindependent source code modules that are interpreted on demand orcompiled in advance. Functions, methods and routines of the instructionsare explained in more detail below.

Data 135 may be retrieved, stored or modified by processor 120 inaccordance with the instructions 131. For instance, although the systemand method is not limited by any particular data structure, the data maybe stored in computer registers, in a relational database as a tablehaving a plurality of different fields and records, XML documents, orflat files. The data may also be formatted in any computer-readableformat such as, but not limited to, binary values, ASCII or Unicode. Byfurther way of example only, image data may be stored as bitmapscomprised of pixels that are stored in compressed or uncompressed, orlossless or lossy formats (e.g., JPEG), vector-based formats (e.g., SVG)or computer instructions for drawing graphics. Moreover, the data maycomprise any information sufficient to identify the relevantinformation, such as numbers, descriptive text, proprietary codes,pointers, references to data stored in other memories (including othernetwork locations) or information that is used by a function tocalculate the relevant data.

Although FIG. 1 functionally illustrates the processor and memory asbeing within the same block, it will be understood by those of ordinaryskill in the art that the processor and memory may actually comprisemultiple processors and memories that may or may not be stored withinthe same physical housing. For example, some of the instructions anddata may be stored on removable CD-ROM and others within a read-onlycomputer chip. Some or all of the instructions and data may be stored ina location physically remote from, yet still accessible by, theprocessor. Similarly, the processor may actually comprise a collectionof processors which may or may not operate in parallel.

In one aspect, computer 110 is a server communicating with one or moreclient computers 170-71. For example, computer 110 may be web server.Computers 170-171, 180 may be configured similarly to the server 110,with a processor, memory and instructions.

Each client computer 170-71 may be a personal computer, intended for useby a person 190-191, having all the internal components normally foundin a personal computer such as a central processing unit (CPU), displaydevice 160 (for example, a monitor having a screen, a projector, atouch-screen, a small LCD screen, a television, or another device suchas an electrical device that is operable to display informationprocessed by the processor), CD-ROM, hard-drive, user input 162 (forexample, a mouse, keyboard, touch-screen or microphone), speakers, modemand/or network interface device (telephone, cable or otherwise) and allof the components used for connecting these elements to one another.Moreover, computers in accordance with the systems and methods describedherein may comprise any device capable of processing instructions andtransmitting data to and from humans and other computers includinggeneral purpose computers, PDAs, network computers lacking local storagecapability, and set-top boxes for televisions.

Although the computers 170-71 may comprise a full-sized personalcomputer, the system and method may also be used in connection withmobile devices capable of wirelessly exchanging data with a server overa network such as the Internet. For example, client computer 170 may bea wireless-enabled PDA such as a Blackberry phone or an Internet-capablecellular phone. In either regard, the user may input information using asmall keyboard (in the case of a Blackberry phone), a keypad (in thecase of a typical cell phone), a touch screen (in the case of a PDA), acamera 163, or any other means of user input.

The client devices may also include a component, such as circuits, todetermine the geographic location and orientation of the device. Forexample, client device 170 may include a GPS receiver 164 to determinethe device's latitude, longitude and altitude position. The componentmay also comprise software for determining the position of the devicebased on other signals received at the client device 170, such assignals received at a cell phone's antenna from one or more cell phonetowers if the client device is a cell phone. It may also include anaccelerometer 165 or gyroscope to determine the direction in which thedevice is oriented. By way of example only, the device may determine itspitch, yaw or roll (or changes thereto) relative to the direction ofgravity or a plane perpendicular thereto.

Location and orientation information may be transmitted to the server110 periodically by a program of the client device or received by server110 during connection with the client device in conformance withcommunication protocols. For example, the device may use a browser suchas Google Chrome or the browser of the Android operating system, each ofwhich may be configured with user permission to send GPS information totrusted network sites (such as www.google.com). In that regard, it willbe understood that a client device's provision of location andorientation data as set forth herein may be provided automatically tothe user, to the server, or both.

Server 110 may use the location and orientation information to determinea location of the device. Because the accuracy of GPS determinations maydepend on the quality of the device and external factors such asenvironment, the device may further transmit data indicative ofaccuracy. For example, the client device 170 may inform the server 110that the transmitted latitude/longitude position is accurate within 100meters; i.e., the device may be at any location within 100 meters of thetransmitted position. The server may also assume a level of accuracy inthe absence of such information.

The server 110 and client computers 170-71 are capable of direct andindirect communication, such as over a network 195. Although only a fewcomputers are depicted in FIGS. 1-2, it should be appreciated that atypical system can include a large number of connected computers, witheach different computer being at a different node of the network 195.The network, and intervening nodes, may comprise various configurationsand protocols including the Internet, World Wide Web, intranets, virtualprivate networks, wide area networks, local networks, private networksusing communication protocols proprietary to one or more companies,Ethernet, Wi-Fi and HTTP, and various combinations of the foregoing.Such communication may be facilitated by any device capable oftransmitting data to and from other computers, such as modems (e.g.,dial-up, cable or fiber optic) and wireless interfaces.

Although certain advantages are obtained when information is transmittedor received as noted above, other aspects of the system and method arenot limited to any particular manner of transmission of information. Forexample, in some aspects, information may be sent via a medium such as adisk, tape or CD-ROM. In other aspects, the information may betransmitted in a non-electronic format and manually entered into thesystem. Yet further, although some functions are indicated as takingplace on a server and others on a client, various aspects of the systemand method may be implemented by a single computer having a singleprocessor.

A location may be expressed and requested in various ways including butnot limited to latitude/longitude positions, street addresses, streetintersections, an x-y coordinate with respect to the edges of a map(such as a pixel position when a user clicks on a map), building names,and other information in other reference systems that is capable ofidentifying a geographic locations (e.g., lot and block numbers onsurvey maps). Moreover, a location may define a range of the foregoing.

The system and method may translate locations from one reference systemto another. For example, the server 110 may access a geocoder to converta location identified in accordance with one reference system (e.g., astreet address such as “1600 Amphitheatre Parkway, Mountain View,Calif.”) into a location identified in accordance with another referencesystem (e.g., a latitude/longitude coordinate such as (37.423021°,−122.083939)).

In one aspect and as shown in FIG. 1, geolocations 138 defines a set oflocations. Each location may be expressed with respect to one or morereference systems. By way of example only, a single geographic locationmay be expressed as a street address, a latitude/longitude coordinate(estimated or actual) or both. In that regard and in one aspect, eachgeographic location may further be associated with a unique identifierin addition to street addresses, latitude/longitude coordinates or thelike.

Server 110 may identify objects at a particular geographic location withone or more objects, characteristics or features. In that regard,feature types 137 may include associations between a geographic locationand a feature. For example, server 110 may identify a feature such as abusiness or home, disposed at a particular location. Other featuresinclude intersections, museums, libraries, and the like. Accordingly,server 110 may identify a feature type (e.g. house for sale or trafficintersection) at a given location. For example, 100 Main Street may beassociated with home for sale. Accordingly, server 110 may associate 100Main Street with the feature type “real estate listing.” Similarly, 300Main Street may be associated with a museum or library, and accordingly,server 110 may associate 300 Main Street with the feature type “publicindoor spaces.” In another example, the location of “Joe's Barber Shop,”or the barber shop itself, may be associated with the feature type“business.” Other features may include points of interests such aslandmarks, bodies of land or water, points of interest, as well as anyitem that can be moved or placed at a particular location andrepresented in the database.

As noted above, an address or location may be associated with multiplefeatures. For example, 200 Main Street may be associated with both anapartment for rent and a barbershop. Therefore, 200 Main Street may beassociated with both “realestate” and “business” feature types.

It will be appreciated that the above-mentioned feature types are merelyexemplary and, as described below, the system and method may accommodatea variety of such feature types.

Server 110 may access various views 140. A view may include an image,for example, associated with one or more geographic locations. Each viewmay be associated with one or more view categories, for example,photographs, images uploaded by users, satellite views, aerial views,street level images, images of a building's interior, building plans orschematics, 3-D renderings, live video feeds, streaming video, etc orother conveys different types of information using different types ofimages. For example, server 110 may have access to real estate images142 associated with a geographic location. While the views may beassociated with geographic locations, the views need not be of thegeographic location.

In another example, data 135 may include map images 144 of server 110may store map-related information, at least a portion of which may betransmitted to a client device. For example, map database 144 may storemap tiles, where each tile is a map image of a particular geographicarea. Depending on the resolution (e.g., whether the map is zoomed in orout), one tile may cover an entire region, such as a state, inrelatively little detail. Another tile may cover just a few streets inhigh detail. The map images are not limited to any particular format.For example, the images may comprise street maps, satellite images, or acombination of these, and may be stored as vectors (particularly withrespect to street maps) or bitmaps (particularly with respect tosatellite images). The various map tiles are each associated withgeographical locations, such that the server 110 is capable ofselecting, retrieving and transmitting one or more tiles in response toreceipt of a geographical location.

In addition to being associated with geographic locations, some viewsmay be associated with an orientation. For example, street level images146 are typically associated with information indicating the spatialorientation of the image. If the street level image comprises a typicalphotograph, the orientation may indicate the camera angle such as datarepresenting an angle that is 30° east of true north and rises 2° fromground level. If the street level images are panoramic images, such as360° panoramas centered at the geographic location associated with theimage, the orientation may indicate the portion of the imagecorresponding with looking due north from the camera position at anangle directly parallel to the ground.

Data 135 may be associated with one or more matrixes. As will bedescribed in more detail below, the matrixes 139 may identifyassociations between categories of views, types of features, and userattributes.

Server 110 may have access to one or more databases of information. Forexample, as noted above, server 110 may have access to a matrixcontaining associations between categories of views and feature types.Each feature type may be associated with one or more view types. Thematrix may indicate which view types are preferred for each featuretype.

As shown in FIG. 4, the matrix may include first, second, third, etc.ranked view categories for each feature type. For example, view category1 is ranked first for feature type 2, but view category 1 is rankedfourteenth for feature type 4. Some view categories, may not have anyassociated with a particular feature type. For example, there is noassociation between view category 1 and feature type 1. Still otherfeature types, for example feature type 2, may not be associated withany particular view categories.

In addition to the operations illustrated in FIGS. 10 and 11, variousoperations in accordance with a variety of aspects of the invention willnow be described. It should be understood that the following operationsdo not have to be performed in the precise order described below.Rather, various steps can be handled in reverse order or simultaneously.

As shown in FIG. 5, a user may submit a request via a user device toserver 110. The request may be associated with a geographic location orlocations and may contain various information. For example, the requestmay include latitude and longitude coordinates, a street address, thename of a business or landmark, an intersection, a transportation hubsuch as a train station or airport, or a historic event, or the like.The request may also include other information, for example, a date ortime.

Server 110 may determine if the location is associated with a particularobject, characteristic, or feature and assign a feature type. Forexample, referring to FIG. 3, server 110 may identify a street addresssuch as “100 Main Street, Anytown, Anystate.” Server 110 may determinethat this location is associated with a home. Accordingly, server 110may associated this location with the feature type such as “residentialhome.” If server 110 has access to additional information, the servermay determine further refine the feature type. For example, if server110 has identified a current real estate listing for the home at 100Main Street, the server may associate “100 Main Street, Anytown,Anystate” with a feature type such as “residential home—real estatelisting.”

As shown in FIG. 6, server 110 may use information within the request todetermine which views to provide to the user. For example, if the server110 determines that the feature type of the location is a “real estatelisting,” it may also determine that the highest-ranked view categorycomprises interior shots of the home uploaded by a real estate agent. Ifa view associated with the highest ranked view category is available,server 110 may transmit the view to the user device. If a viewassociated with the highest ranked view category is not available,server 110 may determine a secondary view category. If a view associatedwith the secondary view category is not available, server 110 maydetermine a tertiary view category, and so on. If no ranked view isavailable, the system may select and display a default view, forexample, a map tile.

As shown in FIG. 6, server 110 may provide the client device with theviews that were selected based on the type of the feature at therequested location. For example, if a map tile is the highest rankedview, this image may be displayed to the user. In another example,server 110 may provide an image of the backyard, for example, awest-facing oblique aerial photo angled to give the best view of thebackyard if such images are associated with the highest ranked viewcategory.

Additional images of lesser rank may also be displayed, though lessprominently. For example, the map image 720, which may be associatedwith the highest ranked view category, may be displayed larger or bemore predominant than image of the interior 710. Similarly, interiorimage 710 may be associated with the highest ranked view category, maybe ranked higher and displayed larger than other relevant images 730.

One of the advantages of the invention is its ability to accommodate awide variety of alternatives and additions to the foregoing features.

The system and method may be used to determine views for a variety ofdifferent feature types.

A user request may identify a public space, for example, a mall,library, museum, airport or the like. Server 110 may determine thefeature at the location to be associated with a “public indoor space”feature type.

As shown in FIG. 7, the user may enter the search “300 Main Street,Anytown, Anystate.” Server 110 may determine that a public indoor spaceis located at that addresses, such as a museum. As a result, the servermay select a view category (e.g., “floor plan” which depicts differentparts of buildings and access routes) that is associated with that typeof feature (e.g., “public indoor space”). The screen shot of FIG. 7demonstrates a sample floor plan of a fictitious museum. Other relevantviews of the museum including street level images or a map of the areamay also be displayed, although these additional views may be displayedless predominantly than the selected view.

As seen by a comparison of FIGS. 6 and 7, it will be seen that the twoqueries, “100 Main Street” and “300 Main Street” are nearly identicalother than street address. Moreover, neither query provides anindication of the type of view in which the user is interested.Regardless, the system and method infers the user's likely interestbased on the feature that is at the requested location, and selects verydifferent types of views for the two different street addresses.

A user request may also identify a location associated with a business,for example a local service provider, a retail location, or arestaurant. Businesses and other locations, may be identified in asearch query by a generic name or by proper name. For example, a usermay search for the generic “barber shop” and a location or “Joe's BarberShop” the name of a business.

As shown in FIG. 8, the user may search for “Joe's Barber Shop,” forexample, the name of a local barber shop. Server 110 may determine thatthe feature type of the location is “business.” In that regard, server110 may also determine that “street images” are the highest ranked viewsfor the “business” feature type. Accordingly, if a street view isavailable, server 110 may provide the user with a street level image asshown in FIG. 9. Server 110 may also provide the user with a panel ofadditional views; however, the selected street level image may bedisplayed in greater detail or in a larger size. The order of the imagesin the panel may also be determined by the rank of the view categoryassociated with each view.

In another example, a user may request information regarding an outdoorstatue, artistic structure, or sculpture. For a structure such as theEiffel Tower, the highest ranked view category may include views whichare artistic or post-card like photos of the location.

In an additional example, the user may request information regarding anintersection. For the highway interchange at Routes 1 and 2, the highestranked view category may include schematic views showing real timetraffic patterns. In a further example, a user may request informationregarding a transportation hub such as a train or bus station, and inresponse, server 110 may provide views which include departureschedules.

In a further example, a user may request information regarding ahistorical event. For the user query “Woodstock,” the highest rankedview may be associated with historical maps of the location orhistorical photos showing roads, terrain, buildings, or people as theywere at the time and place of the event.

It will be appreciated that the view categories and feature types usedabove are merely exemplary and do not purport to disclose every type,category, or useful combination. In that regard, it will be appreciatedthat the view categories may also be more specific or more generalizeddepending on the needs of the system. For example, the search query“barber shop, Main Street, Anytown” may provide various results relatingto barber shops on or near Main Street. These results may be rankedaccording to prominence or relevance to the search query and may beassociated with the feature type “business—barber shop.” Server 110 maydetermine that this feature type is associated with the preferred viewcategory of street images of the various barber shops of the resultslist. Again, a street image may help the user to recognize the location.In another example, the search “Beer Bar, Main Street, Anytown” may beassociated with the feature type “business—restaurant/bar” which may beassociated with the preferred view category of “interior images.” Inthis example, an interior image of the bar may better help the userdetermine whether the bar is clean, of a certain type or size, too lightor too dark, etc.

Server 110 may also consider other ranking attributes. For example,server 110 may select a next highest ranked view category if the viewassociated with the higher ranked view category is of low quality.Quality may be determined by examining, for example, clickthrough rate,user ratings, and other ranking statistics such as Google's PageRank.Server 110 may also select and display views based on relevance to thequery. For example, if a recently-closed business is at the user'srequested location, the server may server may avoid sending a streetlevel image and send a different category of views instead.

While the above examples are limited to images and text, the system andmethod may also incorporate audio and video views of a location. Forexample, if a user were searching for “The Restaurant Diner” and thediner was mentioned at a particular part of a video tour of localrestaurants, server 110 may provide the user device with a hyperlinkwhich connects the user directly to this part of the video. Server 110may present this information in conformance with the rank of the viewcategory.

Views may be displayed to the user in a variety of ways. For example, asshown in FIG. 6, thumbnails of a few of the highest ranked views may bedisplayed along with the results of a search for a location on a map. Inanother example, a user may select “views of this place” within ageneral web search or image search. In a further example, users mayaccess a “place page” displaying information about a city or showinghighest ranked views of subsidiary places such as “popular places in SanFrancisco.”

The system and method may also be used to generate the “best” or highestranked view of a place. For example, by examining all of the imagesuploaded of the Eiffel Tower, the system may synthesize the images togenerate an artificial or composite view of the location to conform tothe highest ranked view category. The system may determine that the viewshould be from a particular side or angle, for a particular distance,tilted to prevent cropping part of the Tower, at sunset. The system mayutilize 3D rendering, image-based rendering, street level images,uploaded user images, or other views to generate the synthesized image.

In another aspect of the invention, the system and method may includeselecting views based on user attributes. An exemplary flow diagram ispresented in FIG. 11.

By way of example, the system and method may use the user's own locationto select a view category, such as by assuming that local users are moreinterested in traffic than pictures of landmarks, and vice versa. Server110 may identify the location of a user through IP address, Wi-Fisignals, location of a wireless base station such as a cell phone tower,GPS information exchanged with the server, or by address informationprovided by the user. Server 110 may use such information when selectingand transmitting views.

As shown in FIG. 9, the server may receive identical search queries fromtwo users, but provide different views to each user. The server mayreceive a query associated with a geographic location and determine thelocation of the user from the query information. The server may evaluatethe feature type of the location associated with the query. The servermay also determine the distance between the location associated with thequery and the location of the user. The view category may be determinedbased on both the determined distance and the feature type. The servermay send views associated with the view category to the user. Forexample, User A may be located in Oakland (across the bay from SanFrancisco), about 5 miles from San Francisco. User B may be located inNew York City, about 2,900 miles from San Francisco. User A may submit asearch query for “San Francisco” and may receive a view of trafficconditions in and around the city. When User B submits the same query,User B may receive views of local landmarks frequented by tourists.

The user's location, and other information specific to the user, may beused to select the view category without regard to the specific query orthe feature at the requested location. In yet another example, theuser-specific information is used in combination with the feature at therequested location to rank view categories or individual views.

In yet another aspect of the invention, server 110 may use informationregarding the date or time of the query. For example, User A may searchfor “Range Restaurant” in the evening, for example close to dinner time,and User B may perform the same search during the day, for example closeto lunch time. The system may provide User A will images of therestaurant at night, whereas User B may be provided with images of thesame restaurant during the day. In another example, if a user submitsthe query “Las Vegas” on a Thursday (i.e., a day closer to a weekend),the user may receive a view of the Las Vegas Strip in the evening. Ifthe same user submitted the same query on a Monday (i.e., a day early inthe week), the user may receive a view of well-known landmark duringdaylight hours.

In other aspects, functions described above as being performed by theserver may be performed by the client device, and vice versa. Forexample, the client device may determine the feature type at aparticular location. In yet more aspects, the client device and serverperform and share different functions.

Most of the foregoing alternative embodiments are not mutuallyexclusive, but may be implemented in various combinations to achieveunique advantages. As these and other variations and combinations of thefeatures discussed above can be utilized without departing from theinvention as defined by the claims, the foregoing description of theembodiments should be taken by way of illustration rather than by way oflimitation of the invention as defined by the claims. It will also beunderstood that the provision of examples of the invention (as well asclauses phrased as “such as,” “including” and the like) should not beinterpreted as limiting the invention to the specific examples; rather,the examples are intended to illustrate only one of many possibleembodiments.

The invention claimed is:
 1. A computer-implemented method comprising:receiving, by one or more processors, a first request from a firstclient device including a query identifying a first geographic location;identifying, by the one or more processors, a second geographic locationcorresponding to a current location of the first client device;receiving, by one or more processors, a second request from a secondclient device including a second query identifying the first geographiclocation; identifying, by the one or more processors, a third geographiclocation corresponding to a current location of the second clientdevice; determining, by the one or more processors, a feature type of afeature at the first geographic location, the feature type describing anaspect of the feature at the first geographic location; determining, bythe one or more computers, a first distance between the first geographiclocation and the second geographic location; determining, by the one ormore computers, a second distance between the first geographic locationand the third geographic location, wherein the first distance isdifferent from the second distance; selecting, by the one or morecomputers, a first type of view from a plurality of different types ofviews based on the determined first distance and the feature type,wherein each of the plurality of different types of views describes adifferent way of depicting a geographic location; selecting, by the oneor more computers, a second type of view from the plurality of differenttypes of views based on the determined second distance and the featuretype, wherein the first type of view is different from the second typeof view; selecting, by the one or more processors, when available, afirst view such that the first view is associated with the firstgeographic location and is further associated with the first type ofview; selecting, by the one or more processors, a second image such thatthe second image is associated with the first geographic location and isfurther associated with the second type of view; and providing, by theone or more processors, the first view to the first client device; andproviding, by the one or more processors, the second view to the secondclient device.
 2. The method of claim 1, wherein the second view isdifferent from the first view.
 3. The method of claim 1, whereinselecting the first type of view includes ranking the plurality ofdifferent types of views based on the aspect and wherein the first typeof view is a highest ranking type of view of the plurality of differenttypes of views.
 4. The method of claim 1, wherein when a view that isassociated with the first geographic location and is further associatedwith the first type of view is not available, the method furtherincludes: determining a third type of view of the plurality of differenttypes of views based on the determined first distance and the featuretype; and selecting, if available, a third view such that the third viewis associated with the first geographic location and is furtherassociated with the third type of view; and sending the third view tothe first client device.
 5. The method of claim 1, wherein the pluralityof different types of views include at least a photo, a video, and a mapimage.
 6. A system comprising one or more computers configured to:receive a first request from a first client device including a queryidentifying a first geographic location; identify a second geographiclocation corresponding to a current geographic location of the firstclient device; receive a second request from a second client deviceincluding a second query identifying the first geographic location;identify a third geographic location corresponding to a current locationof the second client device; determine a feature type of a feature atthe first geographic location, the feature type describing an aspect ofthe feature at the first geographic location; determine a first distancebetween the first geographic location and the second geographiclocation; determine a second distance between the first geographiclocation and the third geographic location, wherein the first distanceis different from the second distance; select a first type of view froma plurality of different types of views based on the determined firstdistance and the feature type; select a second view type from theplurality of different types of views based on the determined seconddistance and the feature type, the second type of view being differentfrom the first type of view; select, when available, a first view suchthat the first view is associated with the first geographic location andis further associated with the first type of view; select a second viewsuch that the second view is associated with the first geographiclocation and is further associated with the second type of view;providing the first view to the first client device; and providing thesecond view to the second client device.
 7. The system of claim 6,wherein the second view is different from the first view.
 8. The systemof claim 6, wherein the one or more computers are further configured toselect the first type of view by ranking the plurality of differenttypes of views based on the aspect and wherein the first type of view isa highest ranking view category of the ranked plurality of differenttypes of views.
 9. The system of claim 6, wherein when a view that isassociated with the first geographic location and is further associatedwith the first type of view is not available, the one or more computersare further configured to: determine a third type of view from theplurality of different types of views based on the first distance andthe feature type; and select, if available, a third view that third viewis associated with the first geographic location and is furtherassociated with the third type of view; and send the third view to thefirst client device.
 10. The system of claim 6, wherein the plurality ofdifferent types of views include at least a photo, a video, and a mapimage.
 11. A non-transitory computer-readable storage device on whichcomputer readable instructions of a program are stored, theinstructions, when executed by a processor, cause the processor toperform a method, the method comprising: receiving a first request froma first client device including a query identifying a first geographiclocation; identifying a second geographic location corresponding to acurrent location of the first client device; receiving a second requestfrom a second client device including a second query identifying thefirst geographic location; identifying a third geographic locationcorresponding to a current location of the second client device;determining a feature type of a feature at the first geographiclocation, the feature type describing an aspect of the features at thefirst geographic location; determining a first distance between thefirst geographic location and the second geographic location;determining a second distance between the first geographic location andthe third geographic location, wherein the first distance is differentfrom the second distance; selecting a first type of view from aplurality of different types of views based on the first distance andthe feature type, wherein each of the plurality of different types ofviews describes a different way of depicting a geographic location;selecting a second type of view from a plurality of different types ofviews based on the second distance and the feature type; selecting, whenavailable, a first view such that the first view is associated with thereceived geographic location and is further associated with the firstview category; selecting a second view such that the second view isassociated with the received geographic location and is furtherassociated with the second view category; sending the first view to thefirst client device; and sending the second view to the second clientdevice.
 12. The device of claim 11, wherein the method further comprisessecond view is different from the first view.
 13. The device of claim11, wherein the method further comprises selecting the first type ofview by ranking the plurality of different types of views based on theaspect and wherein the first type of view is a highest ranking type ofview of the plurality of different types of views.
 14. The device ofclaim 11, wherein the method further comprises, when a view that isassociated with the first geographic location and is further associatedwith the first type of view is not available: determining a third typeof view of the plurality of different types of views based on the firstdistance and the feature type; and selecting, when available, a thirdview such that the third view is associated with the first geographiclocation and is further associated with third type of view; and sendingthe third view to the first client device.